/**
 *	音频播放
 *
 */
var audioDataUrl = 'js/music.json';
//var audioDataUrl = 'http://192.168.222.82:7300/mock/5be3d17ac2c715082c8909bd/cgi628/cgi/main/xmlytrackinfo.json';

;(function($){
    var rotatetimer,    /* 旋转定时器 */
        isNext = true,  /* 播放结束是下一首还是暂停 */
        isloop = false,  /* 是否循环播放 */
        isPlay = false, /* 播放状态 */
        i = 0,
        max = 0,        /* 时长 */
        value = 0,
        $cover = $('.cover'),					//音乐图片
        $btnPlay= $('.btn_play'),				//播放按钮
        $scale = $('#scale'),					//进度条
        $timeCur = $('#time_cur'),				//当前时间
        $btnNext = $('.btn_next'),				//下一首
        $btnPrev = $('.btn_prev'),				//上一首			
        $audioDot = $('.audio_dot'),			//播放点
        $audioBlue = $('.audio_blue'),			//播放进度条
        $audioLine = $('.audio_line'),			//音频进度条bg
        $audioTitle = $('.audio_title'),		//音频title
		$audioText = $('#audioText'),			//音频内容
        $songList = $('.song_list'),			//节目列表
		$audioListTotal = $('#audioListTotal'),	//节目列表总数
		$audio_con_box = $('.audio_con_box'),	//音频内容box
        wLine = $audioLine.width(),
        wDot = $audioDot.width(),
        $timeLong = $('#time_long'),			//歌曲时长
        $music=$('#music'),						//音频
        music = $music.get(0),          		//jQuery对象 转换为 DOM对象 以便于操作 Audio 对象
		$audio_con = $('.audio_con'),			//音频内容模块
		$audio_con_height = $audio_con.height();//获取音频内容模块高度
	
	//获取音频内容	
	var audioContent = {
		//获取音频内容并输出
		init:function(num){
			var _audioContent = '';	//存储音频内容
			$.each(musList[num].inf,function(i,val){		//音频内容循环
				_audioContent += ('<h3>'+musList[num].inf[i].title+'</h3><p>'+musList[num].inf[i].text+'</p>');
			})
			$audioText.html(_audioContent);	//音频内容输出	
			$audioText.css({height:''});
			this.show();
		},
		//显示展开
		show:function(){
			var _this = this;
			if($audioText.height() > $audio_con_height){
				var _btn = '<div class="audioConSlideToggle"><span>展开</span></div>';
				$audioText.css({height:'5.6rem',overflow:'hidden'});
				if(!$audioText.next().is('.audioConSlideToggle')){
					$audioText.after(_btn);		
					_this.click();
				}
			}else{
				$audioText.css({height:'',overflow:''});
				$('.audioConSlideToggle').remove();
			}
		},
		click:function(){
			var _this = this;
			$('.audioConSlideToggle').on('click',function(e){
				if($(this).hasClass('up')){
					_this.up(e.currentTarget);
				}else{
					_this.down(e.currentTarget);
				}
			})			
		},
		down:function(obj){
			$(obj).addClass('up').find('span').text('收起');
			$audioText.css({height:''});
			$audio_con.css({height:'auto'})			
		},
		up:function(obj){
			$(obj).removeClass('up').find('span').text('展开');
			$audioText.css({height:'5.6rem',overflow:'hidden'});
			$audio_con.css({height:'6.26rem'})	
		}
	};
    ;(function getData() {
        $.ajax({
            url: audioDataUrl,
            cache:false,
            dataType: "json",
            success:function(data){
				console.log(JSON.stringify(data,null,4))
                musList = data.audio;         //获取json数据 赋值 给musList数组
                lens=musList.length;
                /*初始化*/
                $cover.css('background-image', "url(" + musList[0].cov + ")");//歌曲海报
                $music.attr('src', musList[0].voi);          //歌曲链接
                $audioTitle.html(musList[0].tit);            //歌曲名称
				$audioListTotal.html('('+lens+')');			 //节目列表总数
				audioContent.init(0);						//输出音频内容第一条
                //歌曲列表
                $.each( musList, function(index, items) {
                    $songList.html($songList.html()+'<li class="flex align-items-c"><em class="btn_play"></em><p>' +items.tit + '</p></li>');
                });
                $songList.find('li').eq(0).addClass('cur'); //初始化歌曲列表 第一首高亮
                //点播歌曲
                $songList.find('li').on('click', function() {
                    i = $(this).index();                    // i 用来 关联点播以后的“上一首”“下一首”
                    play(i);
                });
                getTime();                                   //初始化第一个歌曲时长
            },
            error:function(){
                $songList.html('<li>节目列表获取失败！</li>');
            }
        });
    })();

    /* 获取歌曲时长 因为要加载完成才能获取时长，所以设置 延时获取*/
    function getTime() {
        setTimeout(function () {
            isNaN(music.duration)?getTime():$timeLong.html(toTwo(music.duration))
        });
    }
	
    /*播放*/
    $btnPlay.on('click', function() {
        isPlay ? nplay() : iplay() ;
    });

    /*切换音乐*/
    $btnNext.on('click', function() {
        next();
    });
    $btnPrev.on('click', function() {
        prev()
    });
	
    function prev() {             /*上一首  是否向上循环播放*/
        i>0 ? i-- :(isloop?i=lens-1:console.log('已经是最后一首了'));
        play(i)
    }
    function next() {            /*下一首 是否向下循环播放*/
        (i<=lens-2) ? i++ : (isloop ? i=0 : console.log('已经是最后一首了')) ;
        play(i)
    }

    /*播放歌曲方法*/
    function play(j) {
        $cover.css('background-image', "url(" + musList[j].cov + ")");  /* 更换对应歌曲海报 */
        $music.attr('src', musList[j].voi);                             /* 更换对应歌曲链接 */
        $audioTitle.html(musList[j].tit);                               /* 更换对应歌曲名称 */
		audioContent.init(j);;		//输出音频内容
        $songList.find('.cur').removeClass('cur');
        $songList.find('li').eq(i).addClass('cur');                     /* 当前播放歌曲高亮 */
        isPlay ? iplay(j): nplay();
        getTime();                                                       /* 获取对应时长 */
    }
	
    /* 播放状态 */
    function iplay() {
        $btnPlay.removeClass('btn_pause');
        (music.onloadeddata = function () {         /* loadeddata 当浏览器已加载音频/视频的当前帧时触发。*/
            $scale.attr('max', music.duration);
            max = Math.round(music.duration);
            $timeLong.html(toTwo(music.duration));  /*加载载歌曲时长*/
        })();
        music.play();
        isPlay = true;
		$('body').find('.song_list .cur em').addClass('on');
    }

    /*  歌曲当前播放时间 和进度条对应 */
    music.ontimeupdate = function () {
        value = Math.round(music.currentTime);
        $scale.val(value);
        $timeCur.html(toTwo(value));	/*加载载歌曲当前播放时间*/
        leftDot = wLine * value/max - 10;
        /*设置进度条样式*/
        $audioDot.css({ 'left' : leftDot });
        $audioBlue.css({ 'width' : leftDot+wDot/2 });
        music.onended = function () {
            console.log('音频播放完成');
            isNext?next():nplay();    /* 判断歌曲播放结束 是否下一首,*/
        }
    };

    /*拖拽进度条*/
    $scale.on('change', function() {
        music.currentTime = $scale.val();
    });

    /*暂停状态*/
    function nplay() {
        music.pause();
        isPlay = false;
        $btnPlay.addClass('btn_pause'); /* 添加暂停按钮 */
		$('body').find('.song_list .cur em').removeClass('on');
    }
	
    /*时间格式转换器 - 00:00*/
    function toTwo(num){
        function changInt(num){
            return (num < 10) ? '0'+num : num;
        }
        return changInt(parseInt(num/60))+":"+ changInt(Math.round(num%60));
    }
	
	/* 音频内容 列表 切换 */
	$('.audio_tab li').click(function(i){
		var _index = $(this).index();
		$(this).addClass('current').siblings('li').removeClass('current');
		switch (_index) {
			case 0:
				$audio_con_box.css({'-webkit-transform':'translateX(0)'});
				audioContent.up('.audioConSlideToggle');
				break;
			case 1:
				$audio_con_box.css({'-webkit-transform':'translateX(-50%)'});
				audioContent.up('.audioConSlideToggle');
				break;
		}
	})
})(Zepto);

//相关产品
$(function(){
	var swiper = new Swiper('.swiperBestSel', {
		pagination: '.swiper-pagination',
		nextButton: '.swiper-button-next',
		prevButton: '.swiper-button-prev',
		paginationClickable: true,
		spaceBetween: 30,
		centeredSlides: true,
		autoplay: 3000,
		autoplayDisableOnInteraction: false
	});	
})